package com.ruoyi.cookbook.service;

import java.util.List;
import com.ruoyi.cookbook.domain.Category;

/**
 * 食谱分类Service接口
 * 
 * @author ruoyi
 */
public interface ICategoryService 
{
    /**
     * 查询食谱分类
     * 
     * @param categoryId 食谱分类主键
     * @return 食谱分类
     */
    public Category selectCategoryByCategoryId(Long categoryId);

    /**
     * 查询食谱分类列表
     * 
     * @param category 食谱分类
     * @return 食谱分类集合
     */
    public List<Category> selectCategoryList(Category category);

    /**
     * 查询食谱分类树结构
     * 
     * @return 食谱分类集合
     */
    public List<Category> selectCategoryTree();

    /**
     * 新增食谱分类
     * 
     * @param category 食谱分类
     * @return 结果
     */
    public int insertCategory(Category category);

    /**
     * 修改食谱分类
     * 
     * @param category 食谱分类
     * @return 结果
     */
    public int updateCategory(Category category);

    /**
     * 批量删除食谱分类
     * 
     * @param categoryIds 需要删除的食谱分类主键集合
     * @return 结果
     */
    public int deleteCategoryByCategoryIds(Long[] categoryIds);

    /**
     * 删除食谱分类信息
     * 
     * @param categoryId 食谱分类主键
     * @return 结果
     */
    public int deleteCategoryByCategoryId(Long categoryId);

    /**
     * 修改子元素关系
     * 
     * @param category 分类信息
     * @return 结果
     */
    public int updateCategoryChildren(Category category);

    /**
     * 根据父分类ID查询子分类数量
     * 
     * @param parentId 父分类ID
     * @return 结果
     */
    public int selectChildrenCount(Long parentId);
} 